.tree {
    margin: 0 0 0 4px;
}

    .tree, .tree ul {
        list-style-type: none;
        position: relative;
        padding: 0;
        cursor: default;
        border-left: 1px dotted #ccc;
    }

        .tree ul {
            margin: 0;
            display: none;
        }

        .tree li {
            position: relative;
            margin: 0 0 0 10px;
            padding: 2px 0 2px 0;
        }

        .tree li span.active{
            color: #d9534f;
            font-weight: bold;
        }

            /* extend a line to the list item */
            .tree li:before {
                position: absolute;
                top: 10px;
                left: -9px;
                height: 1px;
                width: 5px;
                border-top: 1px dotted #ccc;
                content: ' ';
            }

            /* erase all lines for last item */
            .tree li:last-child:after {
                position: absolute;
                top: 17px;
                left: -13px;
                bottom: 0;
                width: 7px;
                background-color: white;
                content: ' ';
            }
        /* add expander widget */
        .tree .expander {
            background: #FFF url(/img/tree-view.png) no-repeat scroll;
            background-position: -64px -4px;
            position: absolute;
            top: 8px;
            left: -15px;
            height: 9px;
            width: 9px;
            cursor: pointer;
        }

            .tree .expander:hover {
                background-color: #eee;
            }

            .tree .expander.expanded {
                background-position: -78px -4px;
            }

        .tree ul.expanded {
            display: block;
        }


